A Language for Deterministic-by-Default Parallel Programming

نویسندگان

  • Robert L. Bocchino
  • Stephen Heumann
  • Nima Honarmand
  • Rakesh Komuravelli
  • Jeffrey Overbey
  • Patrick Simmons
  • Hyojin Sung
  • Mohsen Vakilian
  • Sarita V. Adve
  • Vikram S. Adve
  • Danny Dig
  • Marc Snir
چکیده

When using today’s common shared-memory parallel programming models, subtle errors can lead to unintended nondeterministic behavior and bugs that appear only under certain thread interleavings. In contrast, we believe that a programming model should guarantee deterministic behavior unless the programmer specifically calls for nondeterminism. We describe our implementation of such a deterministic-bydefault parallel programming language. Deterministic Parallel Java (DPJ) is an extension to Java that uses a region-based type and effect system to guarantee deterministic parallel semantics through static checking. Data in the heap is partitioned into regions, so the compiler can calculate the read and write effects of each variable access in terms of regions. Methods are annotated with effect summaries, so the effects of a full program can be checked with a modular analysis. Using this system, the compiler can verify that the effects of the different operations within each parallel region are noninterfering. The DPJ type system includes several novel features to enable expressive support for widely used parallel idioms. We describe an experimental evaluation of DPJ that shows it can express a wide range of realistic parallel programs with good performance. We also describe a method for inferring method effect summaries, which can ease the burden of writing annotations. In addition, we briefly discuss several areas of ongoing and future work in the DPJ project.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Effect System and Language for Deterministic - by - Default Parallel Programming

This thesis presents a new, Java-based object-oriented parallel language called Deterministic Parallel Java (DPJ). DPJ uses a novel effect system to guarantee determinism by default. That means that parallel programs are guaranteed to execute deterministically unless nondeterminism is explicitly requested. This is in contrast to the shared-memory models in widespread use today, such as threads ...

متن کامل

Parallel Programming Must Be Deterministic by Default

In today’s widely used parallel programming models, subtle programming errors can lead to unintended nondeterministic behavior and hard to catch bugs. In contrast, we argue for a parallel programming model that is deterministic by default: deterministic behavior is guaranteed unless the programmer explicitly uses nondeterministic constructs. This goal is particularly challenging for modern obje...

متن کامل

An Application of Genetic Network Programming Model for Pricing of Basket Default Swaps (BDS)

The credit derivatives market has experienced remarkable growth over the past decade. As such, there is a growing interest in tools for pricing of the most prominent credit derivative, the credit default swap (CDS). In this paper, we propose a heuristic algorithm for pricing of basket default swaps (BDS). For this purpose, genetic network programming (GNP), which is one of the recent evolutiona...

متن کامل

A Modified Discreet Particle Swarm Optimization for a Multi-level Emergency Supplies Distribution Network

Currently, the research of emergency supplies distribution and decision models mostly focus on deterministic models and exact algorithm. A few of studies have been done on the multi-level distribution network and matheuristic algorithm. In this paper, random processes theory is adopted to establish emergency supplies distribution and decision model for multi-level network. By analyzing the char...

متن کامل

Deterministic Measurement of Reliability and Performance Using Explicit Colored Petri Net in Business Process Execution Language and Eflow

Today there are many techniques for web service compositions. Evaluation of quality parameters has great impact on evaluation of final product. BPEL is one of those techniques that several researches have been done on its evaluation. However, there are few researches on evaluation of QoS in eflow. This research tries to evaluate performance and reliability of eflow and BPEL through mapping them...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010